package chapter07

/**
  * create by undeRdoG on  2021-06-05  21:02
  * 凡心所向，素履以往，生如逆旅，一苇以航。
  */
object Test08_ImmutableMap {
  def main(args: Array[String]): Unit = {
    // 创建Map
    val  map1: Map[String,Int] = Map("a" -> 1,"b" -> 2)
    println(map1)
    println(map1.getClass)

    map1.foreach(println)

    map1.foreach( (kv: (String,Int)) => println(kv))

    println("===================================================================================================")

    // map 访问元素
    for (key <- map1.keys){
      println(key)
      println(map1.get(key))
    }

    /* 访问某一个 key的 value   返回值的类型是：
     如果返回的值为null 即返回值为空的话，则返回Option类型
     如果返回值有值，则返回Some类型*/
    val value: Option[Int] = map1.get("a")
    val v: Int = value.get
    println(v)

    val v2: Option[Int] = map1.get("c")    //  返回的为none

    // 避免取到的值为空，   如果取c的值没取到，那么就返回200
    val i: Int = map1.getOrElse("c",200)
    println(i)


    println(map1("a"))
  }

}
